package com.campus.common.message;

import java.io.Serializable;

/**
 * 教师课程请求
 */
public class TeacherCourseRequest implements Serializable {

    public enum Action {
        // 课程相关操作
        VIEW_ALL_COURSES,        // 查询所有课程（带班级信息）
        VIEW_TEACHING_COURSES,   // 查看教师教授的课程
        QUERY_COURSE,            // 按课程ID或课程名称查询

        // 班级相关操作
        VIEW_STUDENTS_IN_CLASS   // 查看某个班级的学生名单
    }

    private Action action;      // 请求动作
    private String classId;     // 针对具体班级（查看学生名单）
    private String courseId;    // 查询课程时按课程ID
    private String courseName;  // 查询课程时按课程名称
    private String keyword;     // 🔍 关键字（课程ID或名称模糊查询）
    private String teacherId;   // 教师ID（查看自己教授的课程）

    public TeacherCourseRequest() {}

    public TeacherCourseRequest(Action action, String teacherId, String classId,
                                String courseId, String courseName, String keyword) {
        this.action = action;
        this.teacherId = teacherId;
        this.classId = classId;
        this.courseId = courseId;
        this.courseName = courseName;
        this.keyword = keyword;
    }

    // ===== Getter / Setter =====
    public Action getAction() { return action; }
    public void setAction(Action action) { this.action = action; }

    public String getClassId() { return classId; }
    public void setClassId(String classId) { this.classId = classId; }

    public String getCourseId() { return courseId; }
    public void setCourseId(String courseId) { this.courseId = courseId; }

    public String getCourseName() { return courseName; }
    public void setCourseName(String courseName) { this.courseName = courseName; }

    public String getKeyword() { return keyword; }
    public void setKeyword(String keyword) { this.keyword = keyword; }

    public String getTeacherId() { return teacherId; }
    public void setTeacherId(String teacherId) { this.teacherId = teacherId; }
}
